package cn.cdeden.knowledge.domain.dto;

//import io.swagger.annotations.ApiModelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.annotations.AutoMappers;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ProjectName : ecm_hou
 * @Package : com.cdyd.ecm.modules.calendar.domain.dto
 * @ClassName : SysCalendarUpdateDto
 * @Author : Yu.
 * @Description : // TODO
 * @Date : 2023/2/3 12:01
 * @Version : 1.0
 */
@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@AutoMappers({@AutoMapper(target = SysCalendarDto.class)})
public class SysCalendarUpdateDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @NotEmpty(message = "编号,不得为空")
//    @ApiModelProperty(value = "编号")
    private String id;

    @NotEmpty(message = "标签,不得为空")
//    @ApiModelProperty(value = "标签")
    private String label;

    @NotEmpty(message = "内容,不得为空")
//    @ApiModelProperty(value = "内容")
    private String content;


//    @NotEmpty(message = "类型,不得为空")
//    @ApiModelProperty(value = "类型")
    private String calendarType;

//    @ApiModelProperty(value = "颜色代码")
    private String calendarColor;

//    @ApiModelProperty(value = "优先级")
    private String calendarPriority;

//    @NotEmpty(message = "开始时间,不得为空")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
//    @ApiModelProperty(value = "开始时间")
    private Date startDate;

//    @ApiModelProperty(value = "结束时间")
    private Date endDate;

//    @ApiModelProperty(value = "共享人id")
    private List<Integer> userIds;

//    @ApiModelProperty(value = "完成状态")
    private String state;

    private List<Long> resourceIds;

//    @ApiModelProperty("提醒时间")
    private Integer remindTime;

    private Long scheduleId;

    private Integer feedBack;

//    @ApiModelProperty("日程工时")
    private Double workHours;

//    @ApiModelProperty("日程类型")
    private String type;
}
